#ifndef CONFIGMANAGER_H
#define CONFIGMANAGER_H

#include <QObject>
#include <QSettings>
#include "IPlugin.h"

class ConfigManager : public QObject
{
   Q_OBJECT

public:
   explicit ConfigManager(QString configPath,
                          QObject *parent = 0);

signals:
   void signalConfigUpdate(const QString &key,
                           QVariant &value);

public slots:
   void slotRegisterPlugin(Plugin *plugin);
   void slotGetConfigValue(const QString &key,
                           QVariant &value);
   void slotSetConfigValue(const QString &key,
                           QVariant &value);

protected:
   QSettings theConfiguration;
};

#endif // CONFIGMANAGER_H
